#include "Texture.h"

Texture::Texture() {
;
}


Texture::~Texture() {
;
}


void Texture::setId(char* nuevoId) {
	id = nuevoId;
}


char* Texture::getId() {
	return id;
}


void Texture::setPath(char* nuevoPath) {
	path = nuevoPath;
}


char* Texture::getPath() {
	return path;
}

void Texture::hydrate(Element* elem) {
	char* idValue;
	char* pathValue;
	Attr auxAttr;
	int i=0;
//	int j;
	
	//extraigo los valores de los atributos de textura
	while(vectorListGetItem(elem->attrs,i,&auxAttr) != -1) {
		if(strcmp("id", auxAttr.name) == 0 )
			idValue = auxAttr.value;
		if(strcmp("path", auxAttr.name) == 0 )
			pathValue = auxAttr.value;
		i++;
	}

	this->setId(idValue);
	this->setPath(pathValue);
}


int Texture::serialize(Element* elem) {
	Attr attId;
	Attr attPath;

	//INICIO: inicializamos elementos y atributos.
	initAtt(&attId,255);
	initAtt(&attPath,255);
	initElement(&(*elem),255,255);
	//FIN: inicializamos elementos y atributos.

	//INICIO: cargamos el nombre del elemento.
	memset(elem->name,'\0',255);
	elem->name = "textura";
	//FIN: cargamos los nombres de los elementos.


	//INICIO: cargamos atributos de CIRCULO.
	memset(attId.name,'\0',255);
	attId.name = "id";
	memset(attId.value,'\0',255);
	attId.value = this->getId();

	vectorListAddItem(&(elem->attrs),&attId,sizeof(attId));

	memset(attPath.name,'\0',255);
	attPath.name = "path";
	memset(attPath.value,'\0',255);
	attPath.value = this->getPath();

	vectorListAddItem(&(elem->attrs),&attPath,sizeof(attPath));
	//FIN: cargamos atributos de CIRCULO.

	return 0;

}

